RFID encoder and verifier

ABSTRACT

An RFID encoder is used in conjunction with a barcode print and apply system. The RFID encoder utilizes information obtained from a data stream from a host computer, from a corresponding barcode label, or other source to program an RFID label. The programmed label can then be applied with an integrated applicator or an external applicator. The RFID encoder can also verify that an RFID tag or label has been properly encoded and has the same content as the corresponding barcode label. The RFID can further verify that the barcode has been properly printed. If both barcode and RFID tag contain the correct data, both types of labels are attached to a package, enabling the package to be read optically and with radio frequency signals.

BACKGROUND

1. Field of the Invention

The present invention relates to labeling systems, and in particular, toprogramming and/or verifying RFID labels prior to application ontoproducts already having optically readable information such as barcodes.

2. Related Art

Typically, products stored in cartons or boxes are identified by a labelon the outside of the carton or box. Identifying information may also beprinted directly onto the carton with inkjet or any other suitableprinting technology. The label may have optically readable information,such as a UPC barcode. These labels allow optical readers using a laserbeam to scan the information contained thereon, such as description,price, date packaged, or any other usable data. One disadvantage ofoptically readable labels is that the optical reader and the label mustbe within a specific spatial relationship to each other, such as withina line of sight or along a perpendicular scan direction, or is limitedin range by the optical reader.

A more recent type of label uses RFID or Radio Frequency Identificationtags to store information. RFID uses radio frequency signals to acquirethe data from the data within range of an RFID reader. RFID transpondersor tags, either active or passive, are typically used with the RFIDreader to read information from the RFID tag embedded in a label. RFIDtags and labels can be obtained through companies such as AlienTechnology Corporation of Morgan Hill, Calif.

One advantage of RFID labels is that line of sight is no longer requiredto read the label. This is a significant advantage since with barcodes,anything blocking the laser beam from the barcode would prevent thebarcode from being read. Using radio frequencies allows RFID labels tobe read through solid objects located between the RFID label and theRFID reader.

Even though RFID labels are not optically read, there are advantages toplacing optical information on a label so that the package has bothoptical information and RFID on the package, such as having the abilityto read the label using more than one technology. This may be beneficialbecause RFID label technology is not as widespread as barcodetechnology, and many businesses or users may not have suitable RFIDreaders to read the RFID tag. However, because RFID label technology isnot as widespread, many users may only have barcode applicators forplacing the barcode label on the package, thereby preventing placementof RFID labels. Therefore, in order for such users to have both barcodeand RFID information on a package, they could purchase applicationsystems that apply labels having both optically readable information andRFID information contained in a single label. These RFID labels can beproduced in a printer, such as a thermal printer, by first printingoptically readable information on the label and then programming orencoding the RFID tag embedded within the label. The label can then beplaced on the package, which is readable by both a barcode scanner andan RFID reader. However, such printers and applicators can be costly.

Accordingly, there is a need for label application systems that canapply RFID labels onto packages that overcomes the deficiencies in theprior art as discussed above.

SUMMARY

According to one aspect of the invention, an RFID device that programsan RFID tag using information from a signal, such as a data stream ordata read from a barcode, either applies the RFID label to a package orprepares the label for application by a separate applicator. Afterprogramming, the RFID tag may be read to verify its proper programming.The RFID device can be used in conjunction with a barcode print andapply device, barcode reader, or any other suitable device. Thus, thepresent invention allows an RFID tag to be programmed using availableinformation, such as a data stream or barcode, and applied to a packagethat contains a barcode or other optically readable label using existingsystems, such that the package has both RFID and optically readableinformation.

In one embodiment, both the RFID device and the barcode device utilizeinformation contained in the same data stream from a host computer. Thedata stream contains information and commands for printing opticalinformation on a label, as well as RFID information. The RFID deviceuses information in the same data stream to program an RFID label andapply the label to the package. As a result, a package has both anoptically readable label (such as a barcode label) and an RFID label ortag.

According to one embodiment, a conventional print and apply device, forprinting barcodes or other optically readable information on a label,and applying the printed label onto a package, utilizes informationcontained in a data stream from a host computer. An RFID device receivesthe same data stream from the host computer, which can be from differentmanufacturers such as, but not limited to, Printronix, Zebra, TEC,Intermec, and Sato. Since each manufacturer may also have a differentlanguage and interface, the RFID device includes interpreters,emulations, or look-up or substitution tables, that allow the RFIDapplicator device to convert the information needed for programming anRFID tag or label.

In one embodiment, a barcode scanner or verifier coupled to the RFIDdevice scans the printed barcode label on the package to determinewhether the barcode label was properly printed based on the informationcontained in the data stream. For example, the barcode may be unreadableor represent incorrect information. If the barcode label is founddefective, the label or package can be rejected or processed in otherways. However, if the barcode is readable and contains the properinformation, the RFID device uses the information in the data stream toprogram an RFID tag. In another embodiment, the RFID device uses theinformation obtained from scanning the barcode to encode the RFID tag.The RFID device can then read (verify) that the tag was properlyprogrammed. If the tag cannot be verified, the RFID tag is defective,and an appropriate action can be taken, such as rejecting the tag.

However, if the RFID tag is determined to be properly programmed tomatch the information on the corresponding barcode label, the RFID labelis applied to the package by the RFID device. As a result, the packagecontains both an optically readable label and an RFID label without theneed to purchase costly equipment for applying a label or labels havingboth types of stored information. The present invention allows the userto add on to existing barcode label print and apply systems so that bothtypes of labels can be placed on packages. In addition, the presentinvention verifies that both the barcode information and the RFIDinformation have the same content on the package.

It is noted that some company's thermal printers can print labels basedon other company's languages allowing easy migration into competitorapplications. Thus, the concept of converting the barcode or electronicproduct code (EPC) command into an RFID command can be applied to athermal printer that supports not only its standard programming languagebut also any competitor's languages that the printer happens to support.

This invention will be more fully understood in conjunction with thefollowing detailed description taken together with the followingdrawings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 shows a block diagram of a conventional barcode label print andapply system;

FIG. 2 shows a block diagram of an RFID label program or read and applysystem that can be used in conjunction with the barcode label print andapply system of FIG. 1, where the barcode label has already beenapplied;

FIG. 3 is a flow chart showing a process for verifying the barcode on aprinted label for use with the system of FIG. 2 according to oneembodiment;

FIG. 4 is a block diagram of an RFID label program and apply systemaccording to another embodiment, where both the barcode and RFID labelsare applied;

FIG. 5 is a flow chart showing a process for programming and applying anRFID label according to one embodiment;

FIG. 6 is a flow chart showing a process for programming and applying anRFID label according to another embodiment;

FIG. 7 is a flow chart showing a process for reading from and applyingan RFID label according to another embodiment; and

FIG. 8 is a block diagram of a system for extracting commands from adata stream and programming an RFID label according to one embodiment ofthe invention.

Use of the same or similar reference numbers in different figuresindicates same or like elements.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

FIG. 1 shows a block diagram of a conventional print and apply system100 for applying optically readable or barcode labels. System 100includes a host computer 102, which can be a conventional personalcomputer coupled to a local area network (LAN). A print and apply device104 receives information via a data stream 106 from host computer 102that includes a host application, typically specific to the systemthrough an electrical and software interface. The electrical interfacecan be any suitable communication means, such as, but not limited to, aserial or parallel physical link, an Ethernet connection, or a wirelesslink. The data stream contains various commands, such as line, box,font, and barcode commands, for printing lines, boxes, text, barcodes,and other images. The data stream is transmitted to the printer portionof device 104 in specific languages to cause the printer to print animage on a label or other media.

Typically, each manufacturer uses a unique and specific language orsoftware interface, such as PGL (Programmable Graphics Language used andsupported by Printronix of Irvine, Calif.), ZPL (Zebra ProgrammingLanguage used and supported by Zebra Technologies of Illinois), and IPL(Intermec Programming Language used and supported by Intermec ofWashington). Other manufacturers with specific languages include TEC andSato.

Print and apply device 104 may include a printer data control sectionthat receives the data stream and a printer engine control section forprinting the label, as is known in the art. The printer engine controlsection manages the printer components (e.g., the print head, ribbonmotors, platen motor and roller, sensors, etc.) to cause a printed imageto be created on the label, based on the received image data.

The printer can be a thermal printer or any other suitable printer. Theprinter prints the optical information on labels as they pass throughthe print station. The labels may be in a roll and the roll unwound toexpose each label to the print head for printing. After the label isprinted, an application section of device 104 applies a printed label108 to a package 110. Print and apply device 104 is known in the art,such as available through Label-Aire, Weber, and Diagraph.

A conveyer system 112 moves packages 110, which can be boxes, cartons,or any other items on which label 108 is to be attached. As shown inFIG. 1, the movement of packages 110 is from left to right. As eachpackage 110 passes by the application section of device 104, a label 108with printed barcode information is attached. Note that barcode, as usedherein, may refer to any optically readable format and is not limited tobarcodes. The packages 110 can then be moved along conveyer system 112for sorting or any other suitable processing. In systems, such as this,only a barcode label is printed and applied.

FIG. 2 is a block diagram of an RFID encoding system 200 according toone embodiment of the present invention. Packages 110 are moved alongconveyer system 112 to an RFID encoder 202 that encodes or programs anRFID tag based on existing information, such as from a data stream 204or from information read from a barcode 108 on a package 110. Note thatencoder 202 in FIG. 2 and other figures is labeled as “RFID Program &Apply Machine”. However, depending on the required function, RFIDProgram & Apply Machine can be other types of machines, such as RFIDprogram, RFID verify, RFID print and apply, and RFID program, print, andapply.

In one embodiment, the existing information is obtained from data stream204 transmitted by host computer 102. Data stream 204 includes commands,information, or instructions for encoding RFID information on a tag.RFID encoder 202 processes the necessary signal components and uses theinformation to program or encode an RFID tag. RFID encoder 202 can thenverify that the tag was programmed correctly, if desired, as will bediscussed in greater detail below. After programming (and possiblyverifying), RFID encoder 202 either applies the RFID tag or label 206onto package 110 or sends the RFID label 206 to a separate RFIDapplicator for application onto package 110, where package 110 has acorresponding barcode label 108 attached.

In another embodiment, the existing information is obtained through abarcode scanner 208, and thus host computer 102 may not be needed totransmit the programming information. In such embodiments, pre-printedoptically readable information on the package or object is read and usedfor the RFID programming. Conveyer system 112 moves packages 110 withattached barcode labels 108 across barcode scanner 208. Note thatbarcode scanner 208 can also function as a verifier to verify that thebarcode was properly written to, as will be discussed below. As package110 moves through the scanning region of barcode scanner 208, thebarcode information contained in barcode label 108 is read andtransmitted to RFID encoder 202. RFID encoder 202 then uses thisinformation to program or encode the corresponding RFID information ontoan RFID tag. The RFID encoder can also transmit the barcode informationto the host computer 102 to use to retrieve the corresponding RFIDinformation for storage and/or processing. Note that currently, there isnot enough information on the barcode alone to generate the datarequired to program the tag. That complete data must be retrieved from adatabase, using the barcode as an index. As with the above embodiment,RFID encoder 202 can perform an RFID verifying operation, apply the RFIDlabel, or send the programmed RFID label to an RFID applicator to applythe label to the package.

Other functions of RFID encoding system 200 include a mechanism forrejecting bad barcode labels and/or bad RFID tags. For example, packages110 moved across barcode scanner/verifier 208 have their attached labelsscanned. Barcode scanner/verifier 208 determines if barcode label 108 isgood or bad. If the label is bad (e.g., unreadable), the package isrejected, such as via a conveyer control 210. If the label is good, thebarcode data is sent to RFID encoder 202, which utilizes data stream 204from host computer 102 to compare barcode data from the data stream tothe barcode data on the label received from scanner/verifier 208. If thedata and image match, an RFID tag or label is programmed and verifiedthat the programming matches with the printed barcode. The RFID tag isthen reread, and depending on whether the tag is good, either applies aseparate RFID label to the package or rejects the label as having adefective RFID tag. In the embodiment of FIG. 2, processing begins aftera barcode or other optically readable label has already been applied toa package. However, other embodiments utilize the RFID encoder with abarcode print and apply system such that processing involves applyingboth the barcode label as well as the RFID label.

FIG. 3 is a flow chart showing processing for one embodiment of thesystem of FIG. 2. In step 302, a barcode label on a package is scanned,such as by a barcode scanner/verifier. If the information on the barcodelabel is not readable, as determined in step 304, an appropriate actioncan be taken in step 306, such as rejecting the package. However, if theinformation on the barcode is readable, the RFID programming informationis retrieved in step 308, where the RFID information can be EPC data orany other type of data. An RFID encoder utilizes the informationobtained in step 308 to program or encode an RFID tag in step 314. Afterprogramming, subsequent actions can be taken, such as verifying that theprogrammed data matches the barcode data and applying the RFID tag orlabel to the package containing the corresponding barcode label.

FIG. 4 is a block diagram of an RFID verify and apply system 400according to another embodiment of the present invention in which theRFID system 400 is used in conjunction with an existing barcode printand apply machine 104 to attach both a barcode label and an RFID label.System 400 includes an RFID program and apply device 402 coupled tobarcode scanner/verifier 404. RFID program and apply device 402 extractsinformation from a data stream 407, transforms or converts portions ofthe data stream, if needed, and uses the portion to program the RFIDtag. This portion is also used in conjunction with barcodescanner/verifier 404 to ensure that the RFID information, such as EPCinformation, in the data stream is a match to the printed barcode.

It is noted that the scanner/verifier does not need the data stream toknow if the barcode has been printed as a bad barcode, since the scannercan make this determination based on information gathered during a scan.The data within the data stream is used to associate the barcode withthe data stream, such that the needed RFID data can be extracted. Also,data stream 407 may be parsed so that the portion needed by the barcodedevice is transmitted to print and apply machine 104 and the portionneeded by the RFID device is transmitted to RFID device 402.

FIG. 5 is a flow chart showing one embodiment. In step 500, barcodescanner/verifier 404 scans label 108 as it passes by, such as with aconventional barcode scanner using a laser beam or other suitable means.The printed barcode on label 108 may have been printed improperly,resulting in either an unreadable barcode or a label having erroneousdata. Thus, after a scanning, barcode scanner/verifier 404 determinesfirst, in step 502, whether the barcode is readable. If the barcode onlabel 108 is not readable, then barcode scanner/verifier 404communicates this information for further processing in step 504. Forexample, the package with the defective label may be rejected, i.e.,routed to a “reject” bin, or a new barcode label may be printed andapplied. Other actions may also be taken, as desired by the user, suchas programming and applying an RFID label, as will be discussed below,even though the barcode label is defective.

In step 506, the RFID program and apply device 402 receives informationcontained in data stream 407 transmitted by host computer 102. Datastream 407 can be the same as what is received by print and apply device104 if RFID information is included. For example, the data stream maycontain various commands, such as line, box, font, and barcode commands,for printing lines, boxes, text, barcodes, and other images as well asRFID information, such as EPC information or RFID commands. Theinformation in the data stream is used by print and apply device 104 toprint the appropriate barcode or other optical information on the label.This same information is received by RFID program and apply device 402by any suitable communication means, such as, but not limited to, aserial or parallel physical link, an Ethernet connection, or a wirelesslink.

If barcode scanner/verifier 404 determines label 108 is readable, itthen compares, in step 508, the scanned information in step 500 with thedata in the data stream 407 to determine whether the barcode informationon the label matches the intended information to be programmed. Thecomparison can be performed either with barcode scanner/verifier 404, inwhich case the intended programming information is received from RFIDprogram and apply device 402, or with RFID program and apply device 402,in which case the scanned information is received from barcodescanner/verifier 404. Comparison is by any suitable conventional andwell known method. If it is determined that the printed barcode does notmatch the data from the data stream, the RFID program and apply devicecan take an appropriate action in step 510. For example, the packagewith the misprinted label can be rejected, a label reprinted and applied(and checked), or an indication on the package that the label ismisprinted. As with the case where the label is unreadable, an RFIDlabel can still be programmed and applied to the package.

If, however, label 108 is printed properly, i.e., with readable andcorrect information, RFID program and apply device 402 proceeds toprogram an RFID tag and apply the RFID label onto package 110 in step512 according to one embodiment. Device 402 includes an RFID programmingsection that programs a roll of RFID labels or media having an RFID tagembedded in each label 206. RFID tags may be conventional passive oractive tags, such as manufactured by Alien Technology Corporation. Ifthe programmed RFID label 206 is verified to have correct and matchingdata with barcode label 108, RFID label 206 is applied to package 110.As a result, the package has both barcode and RFID labels, with bothlabels verified that they convey the same correct information.

FIG. 6 is a flow chart showing the processing of step 512 according toone embodiment. In step 600, the RFID program and apply device 402receives tag data from host computer 102. In one embodiment, hostcomputer 102 sends both print data and tag data in one file to bothbarcode print device 104 and RFID program device 402. In step 602, theRFID labels pass by an RFID antenna for programming. Conventional RFIDprogramming systems may be used, or systems in which the label passesclosely by (e.g., 0.3 inches) the RFID antenna, such as disclosed incommonly-owned U.S. patent application Ser. No. 10/660,856, filed Sep.12, 2003, entitled “RFID Tag and Printer System”, incorporated byreference in its entirety.

Data is then written onto the RFID tag via RFID circuitry and the RFIDantenna in step 604. The write or programming operation is checked todetermine if the data was written correctly in step 606. If theprogramming operation was successful, label 206 is applied to package110 in step 608, such as by a label applicator. However, if theprogramming operation was not successful, the system determines if acertain number N of write operations have been attempted on the specificlabel in step 610. In one embodiment, N is between 1 and 5 and can beset by the user. If the number of attempts has reached N (i.e., Nunsuccessful writes), an error is designated in step 612 and the RFIDtag is rejected. The process can continue as shown, in step 613, inwhich case, the next RFID tag is positioned for programming in step 602.If the user does not choose, in step 613, to continue with the next tag,the appropriate action can be taken in step 614. In one embodiment, theuser can select to halt the process, reject the package, provide anindication that the barcode label is correct and the RFID label isincorrect, or continue without applying any RFID label to the package.If, as determined in step 610, the maximum number of attempts has beenreached, the system attempts a re-write of the same information on thenext label in step 616. A counter for the number of write attempts oneach label is incremented in step 618, and the programming operation isagain verified in step 606.

In another embodiment, RFID tags or labels are pre-programmed. FIG. 7 isa flow chart showing steps used during a reading and applying of RFIDlabel 206 according to one embodiment. In step 700, device 202 is sentprint image instructions and a read command to read the RFID tag. Notethat device 202 in the other embodiment was called an RFID program andapply device. However, as is evident with this embodiment, device 202only needs to read, instead of also programming, the RFID label or tag.As the RFID label passes over the RFID antenna, the RFID tag within thelabel is read, in step 702. Device 202 then determines, in step 704,whether the information read from the RFID tag is what should beprogrammed, i.e., if there is an error with the programming. If the datain the tag is correct, the label is applied to the package in step 706.However, if the read operation determines, in step 704, that the datastored in the tag is in error or cannot be read, device 202 determinesif a certain number N read attempts have been made on the RFID label instep 708. In one embodiment, N is between 1 and 5, as determined by theuser. If there has been N read attempts, an error in the tag is noted instep 710. Next, an appropriate action is taken in step 712. In oneembodiment, the user can select to halt the process, reject the package,provide an indication that the barcode label is correct and the RFIDlabel is incorrect, or continue without applying any RFID label to thepackage.

If, in step 708, the number of read attempts has not reached N, anotherread operation on the RFID tag is performed in step 714. A read counterindicating the number of read attempts on the tag is then incremented instep 716. The information in the tag is again checked for properprogramming. Multiple read attempts allow the printer system todesignate a faulty label with a higher level of confidence since somereads may not properly read the tag data, due to various factors,including interference from other sources.

With all the above embodiments, labels are advanced from the roll oflabels for processing on the next RFID label. Processing continues untilan end-of-label indicator is reached, the required number of labels havebeen passed or applied, or the user halts operation, such as when afaulty label is encountered or a job needs to be interrupted. Certainembodiments also allow the system to print EPC or other RFID informationon a programmed RFID label. This provides an additional layer ofinformation on the RFID label. Printing mechanisms can be withconventional means, and the printing can be done either before or afterthe RFID label is applied. Thus, the printing mechanism can be within orexternal to encoder 202 or device 402.

FIG. 8 is a block diagram showing a system 800 that extracts informationfrom a data stream, transforms or converts portions of the data stream,if needed, and uses the portion to program or read the RFID tag. System800 can be used as the program or read section of device 202. In oneembodiment, the data stream portion is the barcode command. System 800receives information via a data stream 802 from a host computer 804 thatincludes a host application, typically specific to the system through anelectrical and software interface. The electrical interface can be anysuitable communication means, such as described above. The data streamcontains various commands for printing lines, boxes, text, barcodes, andother images. The data stream is transmitted to system 800 forprogramming or reading and also to a printer (not shown) in specificlanguages to cause the printer to print an image on a barcode label orother media.

Typically, different print languages and software interfaces are used bydifferent manufacturers, such as uses a unique and specific language orsoftware interface, Printronix, Zebra Technologies, Sato, TEC, andIntermec. To add RFID tag programming capability to the system,additional printer language commands must be developed. Further, in thenormal situation these commands would have to be integrated into hostsoftware application, at significant cost and effort, in order for thesystem to deliver programmed RFID tags. In one embodiment, the dataencapsulated in the barcode command is also programmed into the RFIDtag. In this situation, the host application need not be modified whenused in conjunction with additional software embedded in the system. Theadditional printer software detects the barcode command from theincoming data stream and generates RFID specific commands which includethe barcode data. These in turn are routed to the RFID system forprogramming into the RFID label.

In FIG. 8, system 800 includes a data control section 806 that receivesthe data stream and an output control section 808 for programming andprinting the RFID label. Character substitution table 810, within datacontrol section 806, is coupled to receive the data stream from hostcomputer 804. Character substitution table 810 intercepts any incomingbarcode command, identifies the barcode of interest, transmits thisbarcode command to a command parser 812 for normal barcode printing, andin addition creates an RFID write command to allow programming of theRFID tag. Character substitution table 810 is a distinct softwareapplication that is downloaded to the printer to effect the datamanipulation. The data manipulation can be diverse. In one embodiment,character substitution table 810 pre-parses the incoming data stream toidentify the specific barcode command of interest and associated barcodedata. The barcode data is extracted from the barcode command and appliedto the RFID write-tag command. The resulting data string is transmittedto command parser 812 for normal command processing. The barcode commandis also sent to command parser 812 according to conventional methods, asis known in the art.

Command parser 812 identifies RFID specific commands from data stream802 and transmits the RFID specific commands to an RFID data formattingsoftware module 814. Command parser 812 can also route print commands tothe proper locations for printing. Module 814 formats the RFID data (orbarcode data as was) sent with the RFID command to meet the formattingrequirements of the RFID tag. In turn, this formatted RFID data is sentto an RFID control system 816, within output control 808, which includesan RFID reader (or transceiver) capable of programming the RFID tagembedded within the label. The reader is attached to an RFID antenna.The result is an RFID label that has been programmed with informationfrom the data stream. This allows users to use their existing barcodeapplication for RFID tags without extensive and costly modifications ofthe host computer application software. Verification of the programmedRFID tag can then be performed and applied, if desired, as discussedabove.

In one embodiment, this same technique can be applied to thermal printsystems that support more than one thermal printer language. Thecharacter substitution table can be configured to identify, for example,Zebra ZPL language barcode commands. Converting the barcode command fromthe data stream into an RFID command for programming the RFID tag can beutilized in systems that support various programming languages, such asfrom Zebra, Intermec, etc.

The above-described embodiments of the present invention are merelymeant to be illustrative and not limiting. For example, the RFID labelcan be processed and applied prior to the barcode label. It will thus beobvious to those skilled in the art that various changes andmodifications may be made without departing from this invention in itsbroader aspects. Therefore, the appended claims encompass all suchchanges and modifications as fall within the true spirit and scope ofthis invention.

1. An RFID labeling system, comprising: an RFID encoder receiving asignal and programming an RFID label based on the signal, wherein thesignal contains information for programming the RFID label; an RFIDlabel applicator applying the programmed RFID label onto an object; ahost computer sending the signal to the RFID encoder, wherein the signalis a data stream having a first programming language and comprisinginstructions for printing an image on an optically readable label,wherein the RFID encoder extracts information from data streams ofdifferent programming languages.
 2. The system of claim 1, furthercomprising an optical label reader sending the signal to The RFIDencoder, wherein the signal comprises data read from an opticallyreadable label.
 3. The system of claim 2, wherein the optically readablelabel is a barcode label.
 4. The system of claim 1, wherein the RFIDencoder verifies that information contained in an optically readablelabel matches data programmed on the RFID) label.
 5. The system of claim1, further comprising an optical label reader receiving the data steamfor verifying that the optically readable label has been properlyprinted.
 6. The system of claim 5, wherein properly printed comprisesthe optically readable label being readable and printed with theinformation corresponding to the data stream.
 7. The system of claim 5,wherein the optical label reader is coupled to the RFID encoder forreceiving the data stream.
 8. The system of claim 1, wherein theoptically readable label is a barcode label.
 9. The system of claim 1,wherein the object is a container.
 10. The system of claim 1, furthercomprising an optically readable label printer and applicator coupled tothe host computer and receiving the data stream.
 11. The system of claim10, further comprising a conveyer system for moving the package past theoptically readable label printer and applicator and the RFID encoder.12. The system of claim 10, wherein the optically readable label printerand applicator applies the optically readable label to the package priorto the object passing by the RFID encoder.
 13. A method for applying anRFID label onto a package containing an optically readable label, themethod comprising: receiving a signal comprising RFID programminginformation from a host computer, wherein the signal is a data stream ina programming language; programming the RFID label using the RFIDprogramming information; determining whether the optically readablelabel has been properly printed; determining whether the RFID label hasbeen properly programmed; and applying the RFID label to the object ifthe optically readable label has been properly printed and the RFIDlabel has been properly programmed, wherein the information fordetermining whether the RFID label has been properly programmed isextracted from data streams of different programming languages.
 14. Themethod of claim 13, wherein the signal is read from a correspondingoptically readable label.
 15. The method of claim 14, wherein theoptically readable label is a barcode label.
 16. The method of claim 13,further comprising programming the RFID label using commands from thedata stream.
 17. The method of claim 13, wherein commands in the datastream are also used to print the optically readable label.
 18. Themethod of claim 13, wherein determining whether the RED label has beenproperly programmed comprises comparing data on the optically readablelabel with data encoded in the RFID label.
 19. The method of claim 13,wherein determining whether the optically readable label has beenproperly printed comprises determining whether the optically readablelabel is readable.
 20. The method of claim 13, wherein determiningwhether the optically readable label has been properly printed comprisesdetermining whether the optically readable label contains informationfrom the data stream.
 21. The method of claim 13, wherein determiningwhether the optically readable label has been properly printed comprisesscanning the optically readable label.
 22. A method of applying labelsto packages in a system having an RFID encoder, the method comprising:printing an optically readable label based on information contained in adata stream from a host computer, wherein the data stream is ofdifferent programming languages and wherein the RFID encoder extractsinformation from data streams of different programming languages;applying the optically readable label onto a package; verifying whetheran RFID label has been properly programmed based on informationcontained in the data stream or in the optically readable label; andapplying the RFID label to a package if the RFID label has been properlyprogrammed.
 23. The method of claim 22, further comprising determiningwhether the optically readable label was printed properly.
 24. Themethod of claim 23, wherein the determining comprises scanning theoptically readable label.
 25. The method of claim 23, wherein thedetermining comprises using information contained in the data stream.26. The method of claim 22, further comprising writing to the RFID labelusing information from the data stream or the optically readable labelbefore the verifying.
 27. The method of claim 22, further comprisingcomparing the content of the optically readable label with the contentof the RFID label.